package com.demon.minio.dto;

import com.demon.minio.utils.FileUtils;
import com.demon.minio.utils.Md5Util;
import lombok.Data;
import org.springframework.web.multipart.MultipartFile;

import java.util.Collections;
import java.util.List;
import java.util.Optional;

@Data
public class FileDto {
    /**
     * 分片数量
     */
    private Integer chunkCount;
    /**
     * 文件的md5
     */
    private String fileMd5;
    /**
     * 文件名称
     */
    private String fileName;

    public FileDto(MultipartFile file) throws Exception {
        List<byte[]> bytes = FileUtils.sliceWithFile(file);
        this.chunkCount = Optional.ofNullable(bytes).orElse(Collections.emptyList()).size();
        this.fileMd5 = Md5Util.calculateMd5(file.getBytes());
        this.fileName = fileMd5 + file.getOriginalFilename();
    }

    public FileDto() {
    }
}
